#include <vector>
class Solution
{
public:
    vector<vector<int> > flipChess(vector<vector<int> >& A, vector<vector<int> >& f)
    {
        for (int i = 0; i < f.size(); i++)
        {
            int x = f[i][0] - 1;
            int y = f[i][1] - 1;
            flips(A, x, y);
        }

        return A;
    }

private:
    void flips(vector<vector<int> >& A, int x, int y)
    {
        if (x - 1 >= 0 && y >= 0 && x - 1 < 4 && y < 4)
            A[x - 1][y] = !A[x - 1][y];

        if (x + 1 >= 0 && y >= 0 && x + 1 < 4 && y < 4)
            A[x + 1][y] = !A[x + 1][y];

        if (x >= 0 && y - 1 >= 0 && x < 4 && y - 1 < 4)
            A[x][y - 1] = !A[x][y - 1];

        if (x >= 0 && y + 1 >= 0 && x < 4 && y + 1 < 4)
            A[x][y + 1] = !A[x][y + 1];
    }
};